from pyspark.sql import DataFrame
from pyspark.sql.functions import col, when


#定义统一清洗接口
class DataCleaner:
    @staticmethod
    def clean(df: DataFrame) -> DataFrame:
        # 示例清洗逻辑：过滤空值、转换列类型  # 过滤年龄大于18的记录    # 将 "score" 列的缺失值填充为0  # 将 "age" 列转为整数类型
        return df \
            .filter(col("age").cast("integer") > 18) \
            .fillna(0, subset=["score"]) \
            .withColumn("age",
                        when(col("age").cast("integer").isNotNull(), col("age").cast("integer")))